package com.huhao.wshare.repository;

import com.huhao.wshare.entity.Friends;
import com.huhao.wshare.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

public interface FriendsRepository extends JpaRepository<Friends, Long> {
    // 检查两个用户是否已经是好友
    Optional<Friends> findByUserAndFriendAndStatus(User user, User friend, Integer status);

    // 查找用户收到的待同意好友请求
    List<Friends> findByFriendAndStatus(User friend, Integer status);

    // 【新增】根据用户和好友状态查找好友列表 (status=1 表示已同意)
    List<Friends> findByUserAndStatus(User user, Integer status);
    /**
     * 检查两个用户之间是否存在指定状态的好友关系。
     * JPA会根据方法名自动生成查询: SELECT ... FROM friends WHERE user_id = ?1 AND friend_id = ?2 AND status = ?3
     *
     * @param userId 用户ID (uid)
     * @param friendId 好友ID (fid)
     * @param status 关系状态 (1 表示已同意)
     * @return 如果存在匹配的记录，则返回 true，否则返回 false
     */
    boolean existsByUser_IdAndFriend_IdAndStatus(Long userId, Long friendId, Integer status);

}
